/**
 * “var” 没有块级作用域
 */
// if(1){
//     var message = "hello";    
// }
// console.info(message);  //=>hello

/**
 * “var” 允许重新声明
 */
// var message = "hello";    
// console.info(message);  //=>hello
// var message = "world";  
// console.info(message);  //=>world


/**
 * “var” 声明的变量，可以在其声明语句前被使用
 */
console.info(message);  //=>undefined
var message = "hello";

/**
 * 总结:
    var 与 let/const 有两个主要的区别：
    var 声明的变量没有块级作用域，它们仅在当前函数内可见，或者全局可见（如果变量是在函数外声明的）。
    var 变量声明在函数开头就会被处理（脚本启动对应全局变量）
 */